/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package fesa_ensa_xml;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import static java.lang.System.exit;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.ParserConfigurationException;
import org.jespxml.JespXML;
import org.jespxml.excepciones.AtributoNotFoundException;
import org.jespxml.excepciones.TagHijoNotFoundException;
import org.jespxml.modelo.Tag;
import org.xml.sax.SAXException;

/**
 *
 * @author ricardo
 */
public class FESA_ENSA_XML {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TagHijoNotFoundException {
        Integer i, facturas;
        String sDirectorio = "/media/ricardo/C4CB-B734/Porcion 07 Oct-14/";
        File f = new File(sDirectorio);
        if (f.exists()){ // Directorio existe 
            for (File fichero : f.listFiles()) {
                System.out.println(fichero.getAbsoluteFile());
                i=0;
                facturas=0;
                try {
                    //Cargo el archivo XML
                    JespXML archivo = new JespXML(fichero.getAbsoluteFile());
                    //leo el archivo y me retorna el tag raiz, que en este caso
                    // es biblioteca
                    Tag sf = archivo.leerXML();
                    if (sf.getNombre().equals("sf") ){
                        if (sf.isHijos()){
                            System.out.println("Tiene Hijos");
                            i=1;
                            facturas = 1;
                          
                            List <Tag> smartform = sf.getTagHijoByName("smartform", Tag.Cantidad.TODOS_LOS_TAGS);
                            for (i=0;i< smartform.lastIndexOf(smartform); i++ ){
                                if (smartform.get(i).getNombre().equals("smartform") )
                                {
                                    facturas++;
                                }
                            }
                            
                            System.out.println(facturas);
                        }
                    }    
                } catch (ParserConfigurationException ex) {
                    Logger.getLogger(FESA_ENSA_XML.class.getName()).log(Level.SEVERE, null, ex);
                } catch (SAXException ex) {
                    Logger.getLogger(FESA_ENSA_XML.class.getName()).log(Level.SEVERE, null, ex);
                } catch (IOException ex) {
                    Logger.getLogger(FESA_ENSA_XML.class.getName()).log(Level.SEVERE, null, ex);
                }
                if (i==0)
                {
                    System.out.println("   ERROR no es FESA");
                }
                    
            }
        }
        exit(0);

            

    }
    
}
